package cn.mdmm.service.system;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.springframework.remoting.service.annotation.RemoteService;

import cn.mdmm.entity.system.SysRole;
import cn.mdmm.entity.system.SysRoleMenu;
import cn.mdmm.entity.system.SysRoleUser;
import cn.modoumama.service.base.BaseService;

@RemoteService
public interface SysRoleService extends BaseService<SysRole,Long>{
	
	public List<SysRoleMenu> selectRoleMenuByCondition(Long roleId);	
	
	public List<SysRoleUser> selectSUserRoleByCondition(Long roleId);	
	
	public void  bindRoleMenu(Long roleId,String[] menuIds);
	
	public void  bindRoleUser(Long roleId,String[] userIds);
	
	public  void  deleteRoleByIds(String[] roleIds);
	
	public List<SysRole> selectRolesByUserId(Long userId);
	
	/**
	 * 获取所有角色的所有权限
	 * 返回最新的角色权限
	 * @return
	 */
	public Map<Long, Set<String>> getRolePowers();
	
	/**
	 * 获取角色的所有权限
	 * 返回最新的角色权限
	 * @return
	 */
	public Set<String> getRolePowers(Long roleId);
	
	/**
	 * 获取角色
	 * @return
	 */
	public SysRole getRole(Long roleId);
}
